package 时间复杂度.基础;

public class bubbleSort {
    static void bubbleSort(int[] array) {
        for (int end = array.length; end > 0; end--) {
            boolean sort = true;
            for (int i = 1; i < end; i++) {
                if (array[i - 1] > array[i]) {
                    swap(array, i - 1, i);
                    sort = false;
                }
            }
            if (sort == true) {
                break;
            }
        }
    }
    //时间复杂度（数组元素个数为n）
    // 最好：n
    // 最坏：（n*(n-1)）/2
    static void swap(int[]array,int i ,int j){
        int step = 0;
        step = array[j];
        array[j] = array[i];
        array[i] = step;
    }

    public static void main(String[] args) {
        int[] array= {1,34,5,2};
        bubbleSort(array);
        for(int x:array){
            System.out.print(x+" ");
        }
    }
}
